package com.example.springboot.entity;
// 导入MyBatis-Plus的表字段映射注解
import com.baomidou.mybatisplus.annotation.TableField;
// 导入MyBatis-Plus的表主键注解
import com.baomidou.mybatisplus.annotation.TableId;
// 导入MyBatis-Plus的表名映射注解
import com.baomidou.mybatisplus.annotation.TableName;
// 导入Lombok的注解（简化JavaBean开发）
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 系统管理员实体类，用于映射数据库中的管理员表（admin）
 */

@Data // 自动生成基础JavaBean方法（getter/setter/equals/hashCode/toString）
@AllArgsConstructor // 自动生成包含所有成员变量的构造方法
@NoArgsConstructor  // 自动生成无参构造方法

@TableName(value = "admin") // 声明该实体类对应的数据库表名为"admin"
public class Admin {
    /**
     * 管理员用户名（主键），@TableId 注解声明为主键，value指定数据库字段名（与实体类属性名一致时可省略value）
     */
    @TableId(value = "username")
    private String username; // 用户名（主键，通常用于登录）
    @TableField(value = "password")
    private String password; // 登录密码（通常需加密存储）
    @TableField(value = "name")
    private String name; // 管理员真实姓名
    @TableField(value = "gender")
    private String gender; // 性别（如：男/女）
    @TableField(value = "age")
    private int age; // 年龄（整数类型）
    @TableField(value = "phone_num")
    private String phoneNum; // 手机号码（字符串类型，支持带区号格式）
    @TableField(value = "email")
    private String email; // 电子邮箱地址
    @TableField("avatar")
    private String avatar; // 头像文件存储路径
}
